Array adaptive beamforming for a large, arbitrary, sparse array

ABSTRACT

A method and apparatus in one example uses adaptive digital beamforming with a plurality of heterogeneous antennas which are more affordable and flexible and do not require the use of a nuller antenna. The method uses adaptive, multi-beam digital beamforming without knowledge of a signal direction or aperture of the antena. The method works with arbitrary antenna elements in arbitrary locations and does not require any a priori antenna model. The method also optimizes signal-to-noise ratio (SNR) of the received signal.

BACKGROUND

The invention relates generally to a method and system for digital beamforming in an arbitrary antenna system, using any waveforms in space, airborne, and ground network, and any combinations thereof.

BACKGROUND

Satellite antenna systems are often used to provide communications between mobile ground-based terminals. Reliable communications between terminals is preferable to all users however, some applications have an especially critical need for robust operation. Military applications, for example, require a system that maintains communication between highly mobile terminals even in the presence of jamming signals and other sources of interference. Although jamming will be discussed below, the invention is equally applicable to any source of interference in a communication signal, intentional or unintentional.

Beamforming is a technique wherein beams from a plurality of transmitters and/or receivers are combined to provide directional signal transmission or reception. Beamformers are especially useful in the presence of a jamming signals, where a null can be used to cancel out the jamming signal while the antenna is still able to listen to signals from other directions. In a communication environment with large jamming sources in the same receive bandwidth as the preferred directional signal from a terminal, communication performance will be degraded significantly if anti-jamming measures are not employed. Numerous techniques have been proposed for dealing with this type of problem. Nulling approaches (Howells-Applebaum, U.S. Pat. No. 5,175,558, and U.S. Pat. No. 6,130,643) all attempt to preserve an overall pattern performance to all possible users, across the full system bandwidth, in the presence of jammer signals. An antenna with a nuller uses beamforming to constructively add signals from a desired source such as a mobile terminal, and cancel out the signals from a jamming or other undesired source. These approaches, however, are suboptimal.

One example of a prior art system using analog beamforming is shown in FIGS. 1A-1C. FIG. 1A depicts a system in a benign environment, where three pixel beams 202 are combined into a single composite theater beam 204. Three mobile terminals are shown in the theater at 206. Although three pixel beams are shown, any number could be used. FIG. 1B depicts a similar system of three pixel beams 202 in a contested environment having three mobile terminals 206. Composite theater beam 208 is distorted by the presence of jammer 210. While FIGS. 1A and 1B show three mobile terminals, this is just representative and any number could be present.

An apparatus for generating composite beams 204 and 208 is shown in FIG. 1C. A multiple beam antenna (MBA) 212 is shown with 7 beams, although any appropriate number of beams could be used. The output from MBA 212 is sent to analog beamformer 214 which generates composite beam 204 or 208 of FIGS. 1A and 1B respectively. Analog to digital converter (ADC) 216, channelizer 218 and demodulator 220 represent the payload architecture that processes the received signal digitally and demodulates user symbols in baseband. A negative feature of this apparatus is the requirement for a large and complex antenna. In addition, the traditional beamforming performed in the prior art requires a known scan direction and a known antenna aperture model to steer the beam in the desired direction.

In addition, communication with terminals in a theater of operations may experience several challenges. First, it is necessary to provide high gain to small power terminals. The theater may feature a heterogeneous environment with large and small power terminals close together spacially and in frequency. Finally, it may be necessary to provide high anti-jamming capabilities in a contested environment and also to enable autonomous tracking of small power terminals in the theater.

Approaches using a diverse set of antenna elements or an unknown aperture suffer from antenna model inaccuracies that severly limit performance and also experience grating lobes that contribute additional interference. Thus, there exists a need for a satellite antenna system that can perform adaptive beamforming without knowledge of signal direction or aperture. Furthermore, there is a need for a method that optimizes for each user independently only over the user receive bandwidth.

SUMMARY

A method and apparatus for performing multi-beam digital beamforming of simultaneous signals from multiple independent receive sources is disclosed. The approach is antenna agnostic and works with arbitrary antenna elements in arbitrary locations. It does not require any a priori antenna model and uses adaptive digital beamforming in a way that optimally combines the antenna elements to form a unique beam for each user, while maximizing signal-to-noise (SNR) and providing significant interference rejection. Because the approach functions without knowledge of the antenna characteristics, costly antenna characterization and calibration are not needed. This invention leverages the MBA adaptive digital beamforming described in copending application Ser. No. 14/468,560 titled Method and Apparatus for Symbol Measurement and Combining filed on the same date as the present application and extends the approach to arbitrary antenna architectures. The flexibility of this approach allows for improved performance in terms of gain, G/T and interference suppression at reduced system complexity.

The invention in one implementation encompasses a method for adaptive digital beamforming, in a computer processor, the input signals received by a plurality of heterogeneous antennas, having the steps of estimating an initial weight for each beam only from information contained within a received input signal from each beam without using a model of the plurality of heterogeneous antennas or knowing the desired signal direction; iteratively estimating a new weight for each beam until an optimum weight is achieved; and applying the optimum weight for each beam to the received input signals.

In further embodiment, the invention encompasses a method for digital beamforming the beams from a plurality of heterogeneous antennas including the steps of receiving an input signal from each beam of the plurality of antennas; processing each input signal statistically to generate symbols representing each input signal; estimating an initial steering vector for each beam from the input signal and the generated symbols; estimating an initial covariance matrix using direct calculation with dynamic noise loading; generating a set of weights for the beams from the one or more antennas from the initial steering vector and the initial covariance matrix; iteratively estimating a new weight for each beam until an optimum weight is achieved; and normalizing the optimum weight and applying it to the received symbols during digital beamforming.

In yet another embodiment, the invention encompasses a non-transitory computer-readable medium storing computer-readable instructions that, when executed on a computer processor, perform a method of digital beamforming the beams from a plurality of heterogeneous antennas including the steps of receiving an input signal from each beam of the plurality of antennas; processing each input signal statistically to generate symbols representing each input signal; estimating an initial steering vector for each beam from the input signal and the generated symbols; estimating an initial covariance matrix using direct calculation with dynamic noise loading; generating a set of weights for the beams from the one or more antennas from the initial steering vector and the initial covariance matrix; iteratively estimating a new weight for each beam until an optimum weight is achieved; and normalizing the optimum weight and applying it to the received symbols during digital beamforming.

DESCRIPTION OF THE DRAWINGS

Features of example implementations of the invention will become apparent from the description, the claims, and the accompanying drawings in which:

FIGS. 1A-1C depict a prior art system using analog beamforming.

FIGS. 2A-2C depict a system for digital beamforming.

FIG. 3 depicts an embodiment of a Gimbal Dish Antenna (GDA) system.

FIG. 4 depicts a system for digital beamforming the embodiment of FIG. 3.

FIG. 5A depicts a GDA system serving dispersed users.

FIG. 5B depicts a GDA system used in a concentrated theater.

FIGS. 6A-6D show several representative configurations of GDAs on a platform.

FIG. 7 shows a graph depicting G/T performance in a scalable GDA system.

FIGS. 8A and 8B depict antenna gain coverage and a gain plots for a user in the presence of a jammer.

FIG. 9A depicts a phased array antenna in accordance with an embodiment of the invention.

FIG. 9B depicts a beam laydown plot in accordance with the embodiment of FIG. 9A.

FIG. 9C depicts the antenna gain response of the phased array digital beamforming in accordance with the embodiment of FIG. 9A.

FIG. 10A depicts an embodiment of the invention using a combination of different types of antennas.

FIG. 10B depicts a beam laydown plot in accordance with the embodiment of FIG. 10A.

FIG. 10C depicts an embodiment where the antennas serve dispersed user.

FIG. 10D depicts a related embodiment where several different types of antennas are beamformed in a concentrated theater to provide higher theater gain and in beam AJ protection.

FIGS. 10E and 10F depict an antenna gain coverage and a gain plots for the embodiments of FIGS. 10A-10B.

FIG. 11 depicts an embodiment of the invention used with a dynamic airborne mesh network.

FIG. 12 depicts an embodiment of the invention used with a ground network.

FIG. 13A depicets a scenario where a jammer is very close to a user.

FIGS. 13B and 13C depict performance for the scenario of FIG. 13A using different antenna systems.

FIGS. 14A and 14B depict an embodiment of the invention where a jammer is located at a grating lobe of an antenna.

FIG. 15 is a representation of an apparatus for performing a method of digital beamforming.

FIG. 16 is a representation of the ML Alpha Estimator of FIG. 15.

FIG. 17 is a representation of the Signal Quality Estimator of FIG. 15.

FIG. 18 is a representation of a Substitution OC processor of FIG. 15.

FIG. 19 is a flowchart of a method for digital beamforming using Substitution Optimal Combining.

FIG. 20 depicts an apparatus for a digital beamforming algorithm for M-ary PSK waveforms is similar to that of FIG. 15

FIG. 21 depicts the Symbol Quality Estimator of FIG. 17, adapted for M-ary PSK waveforms.

FIG. 22 depicts the ML Alpha Estimator of FIG. 16 modified for M-ary PSK waveforms.

FIG. 23 depicts a flow chart showing a simple estimation process for initial alpha estimate calculation.

FIG. 24 depicts Substitution OC element 110 of FIG. 20.

FIGS. 25A-25H depict the performance of the invention according to an embodiment.

FIGS. 26A-26J depict the performance of an embodiment of the invention using a combination of different antenna types in an antenna array.

FIG. 27 depicts a further embodiment of Substitution OC element 110 of FIG. 20.

DETAILED DESCRIPTION

In general, beamforming combines signals from a single multi-beam antenna or an array of single-beam antennas to transmit and receive directional signals using the principles of constructive and destructive interference. Signals detected by each beam are phased, or weighted, by varying amounts so as to transmit or receive a desired signal from a terminal.

An improvement on the prior art device of FIGS. 1A-1C is shown in FIGS. 2A-2C. Instead of analog beamformer 214 of FIG. 1C, FIG. 2C depicts the same 7 beam MBA 212 but each output beam is converted from analog to digital using ADCs 236, separated into channels with channelizers 238, then combined using adaptive digital beamformer 240. The adaptive digital beamformer is further described in copending application Ser. No. 14/468,560 titled Method and Apparatus for Symbol Measurement and Combining which is hereby incorporated by reference. The use of the adaptive digital beamformer 240 allows beamforming to be targeted to individual terminals as shown by dynamic beam 230 of FIG. 2A, which has been optimized to a specific user in an unstressed environment. As shown in FIG. 2C, adaptive digital beamformer 240 is able to output a custom beam for each terminal in the system. FIG. 2B shows an optimized dynamic beam 232 in the presence of jammer 210, which is then demodulated by demodulator 242.

While an improvement on the prior art, the system of FIGS. 2A-2C still features the use of a large, expensive MBA that includes a nuller. The challenges of communication with small mobile terminals in a heterogeneous environment can be further improved by using adaptive beamforming with alternative antenna systems featuring a plurality of low cost spot beam antennas.

In an embodiment, the invention adapts the co-pending adaptive digital beamforming method to work with a plurality of GDAs (gimball drive/dish antenna) which are more affordable and flexible and do not require the use of a large MBA antenna. With this embodiment, adaptive, multi-beam digital beamforming can be performed without knowledge of a signal direction or aperture of the antenna. The method works with arbitrary antenna elements in arbitrary locations and does not require any a priori antenna model. Among other features, the method maximizes SNR, eliminates the need for costly calibration of the antenna aperture, suppresses sources of intentional and unintentional interference and adapts to a changing environment, for example, user mobility, interference, and aperture distortions.

Without a need to rely on a specific antenna model, large distributed elements can be combined for greatly increased antenna gain and interference suppression. The adaptive nature of the inventive method provides very high levels of performance without the consequences of antenna model inaccuracies and interference from grating lobes. Improved antenna performance provides more throughput and more efficient channel utilization. It also reduces the complexity of transmitters/receivers and therefore results in a cost savings.

FIG. 3 depicts an embodiment of a GDA adaptive digital beamforming system. While specific measurements are shown, they are representative and could be varied as needed to meet cost and performance considerations. In general, the number and configuration of GDAs can be optimized to provide a large effective aperture which produces high gain and extremely sharp nulls at a much lower cost than a single multi-beam antenna. As shown in FIG. 3, five GDAs, each having a radius of approximately 1′, are mounted on a platform measuring 10′×10′ in a circle with a radius of approximately 4′.

A system for implementing the embodiment of FIG. 3 is shown in FIG. 4. Individual beams 260 from, for example, 5 spot beams, are received from a sparse array of GDAs at a plurality of ADCs 262. After being converted to digital signals, each beam is sent through a channelizer 264 then to adaptive digital beamformer 266, which generates an optimized beam for each user of the system that is sent to demodulator 268. The system of FIG. 4 can be implemented, for example, with a FPGA (field-programmable gate array) to enable reprogrammability of processing as needed. An ASIC (application-specific integrated circuit) could also be used to implement the invention.

The use of independent antennas provides a number of benefits. The individual antennas are more affordable, both in the physical design and their integration on a platform. Data rates are scalable based on the number of antenna elements used and their individual gain. Since the phased array has a larger effective aperture size, additional anti-jamming capability is enabled.

This invention works in space, airborne, and ground architectures, and with any antenna systems. For space to terminal communication where digital beamforming is processed on satellite, FIGS. 5A and 5B depict two possible embodiments of the invention. In FIG. 5A, a plurality of antennas 270 behave as standard GDAs serving dispersed users 272. In FIG. 5B, the plurality of antennas 270 are beamformed in a concentrated theater 274 to provide higher theater gain and in beam AJ protection. The embodiments shown in FIGS. 5A and 5B depict a space-based environment but airborne or ground-based architecture could also be used. The number and placement of GDAs is flexible. FIGS. 6A-6D show several configurations, using from 3 to 6 GDAs. The arrangements shown in FIGS. 6A-6D are intended as examples of possible configurations.

For the embodiment of the invention shown in FIG. 5B, all elements of the antenna array are pointed to the same coverage area 274 creating co-pointed GDA beams. A digital beamforming system shown in FIG. 4 where ideal beam combining performance that scales with the number of elements in the antenna system is achieved. FIG. 7 shows a graph depicting G/T performance in a scalable GDA system as antenna elements are added optimally to increase G/T with each added element scalable G/T is achieved based on number of elements dedicated to theater antenna. The performance of 1 GDA is shown at 276. Line 278 shows performance with 3 GDA beamforming, line 280 with 4 GDAs and line 282 with 5 GDAs.

Moreover, this invention creates an antenna gain response maximizing the intended user gain while nulling out the jammer in the close proximity as shown in FIGS. 8A and 8B, which depict an antenna gain plot is shown through user 284 and jammer 286 with high gain on user 284 and deep null on jammer 286.

Another embodiment of the invention uses phased array antenna 288 as shown in FIG. 9A, with an example of beam laydown shown in FIG. 9B using 5 phased array beams where the x-axis label is the azimuth in degrees and the y-axis is elevation in degrees. FIG. 9C shows the antenna gain response of the phased array digital beamforming, clearly nulling out jammer 292 in the close proximity of user 290 as an example. The embodiments shown in FIGS. 9A-9C depict a space-based environment but airborne or ground-based architecture could also be used.

Another embodiment of the invention uses a combination of different types of antennas, GDAs and a phased array (PA) antenna, shown in FIG. 10A as an example of utilizing 3 GDAs 294 and 1 PA antenna 296 with 2 PA beams, with an example beam laydown shown in FIG. 10B where circles 298 indicate the 2 PA beams and circle 300 indicates the GDA beams. FIGS. 10C and 10D depict two possible embodiments of the invention. In FIG. 10C, the antennas behave as standard GDAs and phased array antenna serving dispersed users. In FIG. 10D, several different types of antennas are beamformed in a concentrated theater to provide higher theater gain and in beam AJ protection. The adaptive digital beamforming works in this hybrid antenna example such that the gain on jammer 304 is minimized while user 302 gain is maintained as shown in FIG. 10E and FIG. 10F.

Digital beamforming not only works for a space processed network and for any type of antenna, it is applicable to provide a digital beamforming solution for a dynamic airborne mesh network as illustrated in FIG. 11. Furthermore, the application of this invention extends to a ground network, shown in FIG. 12, where multiple sensors on ground terminal 306 receive information from the neighboring nodes 308 forming an ad-hoc network, processing the information using digital beamforming of this invention. FIG. 12 further depicts the capability of this invention utilizing any combinations of space, airborne, and ground network.

FIGS. 13B and 13C show the contrast in performance between using either a large, sparse GDA antenna array or an MBA for a particular scenario as shown in FIG. 13A, which depicts a situation where user 312 is at the center of a one degree coverage area and jammer 310 is very close to user 312, for example, approximately 15 miles away. For this most difficult case, the user 312 gain is maximized while the jammer 310 gain is significantly reduced for the GDA antenna array beamforming as shown in FIG. 13B. For the MBA digital beamforming, the user and jammer are too close; therefore, both user 312 gain and jammer 310 gain are minimized as shown in FIG. 13C. Thus this invention maximizes the SNR while producing a sharp null on jammer 310 when located in close proximity to user 312.

A common feature of sparse phased arrays is the presence of grating lobes. These are areas of the beam that exhibit high gain where gain is not intended or desired. It is caused by element separations of greater than half a wavelength, also known as spatial aliasing. This present invention mitigates the grating lobe concerns that jammers might be located at the peak of grating lobes. In an embodiment of the invention using a 5 GDA antenna array, the worst case grating lobe 316 is located given a user location 314 as shown in FIG. 14A. When a jammer is located at this worst case grating lobe, this invention inherently prevents gating lobes from appearing at jammer location 318 as shown in FIG. 14B, since the optimization accounts for both the signal of interest (SOI) and the interference signals. Furthermore, since the user SNR is maximized every hop, the grating lobes concerns are effectively mitigated.

Waveforms

In an embodiment, the co-pending application of the adaptive beamforming algorithm operates on symbols of a Symmetric Differential Phased Shift Keying (SDPSK) waveform received as part of signals, or beams, received from a plurality of antennas. The following description discusses the adaptive beamforming algorithm of the co-pending application.

A symbol is typically described as a pulse representing an integer number of bits. In an embodiment illustrating this method with the above mentioned antenna architectures, i.e., GDA array, phased array antenna, combinations of GDAs and phased array beams, with a total number of N_(beam) beams, the input signal is represented by X given by Equation (1) as the channel model with the received symbols of length N for all beams per hop (a hop consists of N symbols) under the stressed environment,

$\begin{matrix} {X = {\quad{{\begin{bmatrix} {\underset{\_}{x}}_{1} \\ \vdots \\ {\underset{\_}{x}}_{N_{beam}} \end{bmatrix} = {\left\lbrack \begin{matrix} x_{1,1} & \ldots & x_{N,1} \\ \vdots & \ddots & \vdots \\ x_{1,N_{beam}} & \ldots & x_{N,N_{beam}} \end{matrix} \right\rbrack = \left\lbrack \begin{matrix} {{a_{1}\underset{\_}{s}} + {\beta_{1}\underset{\_}{J}} + {\underset{\_}{n}}_{1}} \\ \vdots \\ {{\alpha_{N_{beam}}\underset{\_}{s}} + {\beta_{N_{beam}}\underset{\_}{J}} + {\underset{\_}{n}}_{N_{beam}}} \end{matrix} \right\rbrack}},{{{where}\mspace{14mu}\underset{\_}{\alpha}} = \begin{bmatrix} \alpha_{1} \\ \vdots \\ \alpha_{N_{beam}} \end{bmatrix}},{{{and}\mspace{14mu}\underset{\_}{\beta}} = {\begin{bmatrix} \beta_{1} \\ \vdots \\ \beta_{N_{beam}} \end{bmatrix}{are}\mspace{14mu}{the}\mspace{14mu}{signal}\mspace{14mu}{beam}\mspace{14mu}{steering}\mspace{14mu}{vector}\mspace{14mu}{and}}}}}} & (1) \end{matrix}$ jammer steering vector respectively, s is the transmitted modulated sequence of length N, J is the jammer vector of length N, and n_(j) is the AWGN vector of length N for beam i. The beam steering vector, α, indicates relative differences between the plurality of antennas receiving a signal. Likewise, each antenna experiences the jamming signal from a slightly different angle, resulting in the jammer steering vector, β. The covariance matrix R_(xx) is given by

${R_{xx} = {{E\left\lbrack {XX}^{H} \right\rbrack} = {\underset{R_{ss}}{\underset{︸}{\underset{\_}{\alpha}{\underset{\_}{\alpha}}^{H}}} + \underset{R_{nn}}{\underset{︸}{{\sigma_{j}^{2}\underset{\_}{\beta}{\underset{\_}{\beta}}^{H}} + {\sigma_{n}^{2}I}}}}}},$ where R_(ss) is the signal covariance matrix containing the signal of interest, R_(nn) is the noise covariance matrix containing both the jammer signal and AWGN.

Digital beamforming involves applying a weight to the signal received from each antenna to arrive at a coherent result when the beams are combined. While there are several prior art methods of determining weights when beamforming in an unstressed communication environment, the Maximum Ratio Combining (MRC) receiver achieves the best results, with a weight vector given by w _(MRC)=√{square root over (SNR)}e ^(−jθ) ^(α) .  (2)

where θ _(α) is the angle of arrival of the steering vector. Likewise, when operating in a stressed environment, Optimal Combining (OC) is an optimal receiver whose weight vector for the digital beamformer is w _(OC) =R _(XX) ⁻¹ α  (3) or w _(OC) =R _(nn) ⁻¹ α,  (4)

where R_(XX) is the covariance matrix of the received symbols, α is the steering vector of the desired received signal without noise or jamming interference, R_(nn) is the noise covariance matrix without the presence of signal. Therefore, R_(XX) ⁻¹ α=cR_(nn) ⁻¹ α where c is a constant and multiplying the weights by a constant will not affect the decision space. Use of these equations requires that both the antenna configuration and the location of a desired signal are known in advance or are estimated. The weights are then applied to the received symbols in Equation (1) producing beamformed output, y y=w _(OC) ^(H) X.  (5) In a preferred embodiment, the inventive method improves on these methods because it works in a system in which neither the antenna configuration nor the terminal location and jammer location are known in advance. In general, locations and other parameters are not known, and must be estimated. Direct calculations of R_(xx) and standard estimation techniques of α result in extremely poor performance in the presence of strong power jammer; this observation is in the prior art literature without any methods provided for overcoming this problem. Instead, in a preferred embodiment, this approach works by using estimates for R_(xx) and α that are refined jointly by an iterative substitution method. The initial estimate for R_(xx) is a direct calculation with dynamic noise loading based on the statistical characteristics of the received symbols to control the range of the norm of R_(xx) ⁻¹. The initial estimate for α is a combined maximum likelihood estimation and symbol quality evaluation across the received symbols. This method uses information only from the received symbols on a per hop basis on each of the different antenna feeds. The formed beam is optimized at each frequency based on the received symbols for each user. This method does not use any a priori spatial signal information or any history of received symbols.

In general, this method is a Substitution OC method with Dynamic Noise Loading (DNL). It consists of two major building blocks, Maximum Likelihood (ML) Alpha Estimator with Symbol Quality Estimator (SQE) and Substitution OC Method with Dynamic Noise Loading (DNL), shown in FIG. 15. The details of these building blocks are detailed in the following sections.

Turning to FIG. 15, this method as described in the co-pending application is performed by an apparatus 100 having a number of components. Incoming symbols X are received by Symbol Quality Estimator (SQE) 102, ML Alpha Estimator 104 and R_(xx) with Dynamic Noise Loading (DNL) generator 106. The estimated values for α and R_(xx) are sent to initial weights generator 108. SQE 102 filters noise and power spikes from the received symbols X to generate a good symbol indicator stream, I _(sym). The output of initial weights generator 108 and I _(sym) are sent to Substitution OC generator 110 which iteratively produces a weight vector, w _(m). This output is used by Post Iterative Beamformer 112 to generate an output beam for each mobile terminal as will be explained below. The components of FIG. 15 in a preferred embodiment would comprise FPGA (field programmable gate array) or ASIC (application-specific integrated circuit) but any type of circuitry could be used.

Maximum Likelihood (ML) Alpha Estimator

The beam steering vector, α, for a desired signal is calculated by ML Alpha Estimator 104 of FIG. 15. An example of the ML alpha estimator showing SDPSK 2+40 mode (a mode with 2 reference symbols and 40 data symbols) is shown in FIG. 16. Reference numeral 118 indicates complex received symbols x _(i) of a hop for beam i, x _(i) =[x _(1,i) , . . . ,x _(N,i)],

where N=N_(ref)+N_(data), N_(ref) is the number of reference symbols and N_(data) is the number of data symbols. The sequence of received symbols x_(j) 118 is a vector of X for beam i in equation (1) and FIG. 15.

In order to reduce the complexity of calculating an estimate value for α, the data portion of the received symbols is partitioned into blocks 120 of length N_(p) symbols, as illustrated in FIG. 16, where N_(p)=2 is the length of the partitioned sequence in equation (6),

$\begin{matrix} {{{\underset{\_}{x}}_{i} = {\left\lbrack {{\underset{\_}{x}}_{{ref},i},\underset{\{{{\underset{\_}{x}}_{k,i}|_{k = 1}^{N_{data}/2}}\}}{\underset{︸}{{\underset{\_}{x}}_{{data},i}}}} \right\rbrack = \left\lbrack {{\underset{\_}{x}}_{{ref},i},{\underset{\_}{x}}_{1,i},\ldots\mspace{14mu},{\underset{\_}{x}}_{{N_{data}/2},i}} \right\rbrack}},} & (6) \end{matrix}$

where x _(k,i), kε{1, . . . , N_(data)/2} is a length-N_(p) or length-2 sequence for partitioned sequence k and beam i. For SDPSK modulation, the four possible symbol constellations are

$\left\{ {1,e^{j\frac{\pi}{2}},{- 1},e^{{- j}\frac{\pi}{2}}} \right\}.$ Assuming the starting symbol constellation of the SDPSK modulation is at 1, there are 2^(Np) or 4 pairs of the possible transmitted sequence,

${\hat{\underset{\_}{s}} = \left\{ {\begin{bmatrix} 1 & e^{j\frac{\pi}{2}} \end{bmatrix},\begin{bmatrix} 1 & e^{{- j}\frac{\pi}{2}} \end{bmatrix},\begin{bmatrix} {- 1} & e^{j\frac{\pi}{2}} \end{bmatrix},\begin{bmatrix} {- 1} & e^{{- j}\frac{\pi}{2}} \end{bmatrix}} \right\}},$ for each partitioned sequence. At 124, the partitioned sequence is correlated with each pair of the estimated symbols, ŝ, which provides a set of alpha estimates of the partitioned sequence.

Correlators 124 output the alpha estimates of each partitioned sequence as shown in equation (7):

$\begin{matrix} {{{{\hat{\underset{\_}{\alpha}}}_{i,j}(k)} = {{\underset{\_}{x}}_{k,i}\begin{bmatrix} {{{\hat{\underset{\_}{s}}}_{j}(1)}*} & \ldots & 0 \\ \vdots & \ddots & \vdots \\ 0 & \ldots & {{{\hat{\underset{\_}{s}}}_{j}\left( N_{p} \right)}*} \end{bmatrix}}},} & (7) \end{matrix}$

where k=1, . . . ,N_(data)/2, j=1, . . . , 2^(Np), i is the beam number, N_(p)=2, and ŝ={ŝ _(j)|_(j=1) ⁴}. Given the known transmitted reference symbols S _(ref)=[s_(ref)(1), . . . , s_(ref)(N_(ref))] of length N_(ref), the alpha estimate for the received reference sequence is output from correlator 124 a as

$\begin{matrix} {{\hat{\underset{\_}{\alpha}}}_{i,{ref}} = {{{\underset{\_}{x}}_{{ref},i}\begin{bmatrix} {{s_{ref}(1)}*} & \ldots & 0 \\ \vdots & \ddots & \vdots \\ 0 & \ldots & {{s_{ref}\left( N_{ref} \right)}*} \end{bmatrix}}.}} & (8) \end{matrix}$

A decision metric is calculated by MLEs 126 using equation (9): d _(i,j)(k)=sum[{circumflex over (α)} _(i,ref),{circumflex over (α)} _(i,j)(k)]={circumflex over (α)} _(i,ref) I _(N) _(ref) ^(t)+{circumflex over (α)} _(i,j)(k)I _(p) ^(t), for j=1, . . . ,2^(N) ^(p) ,  (9)

where

${{\underset{\_}{I}}_{N_{ref}} = \left\lbrack \underset{N_{ref}{times}}{\underset{︸}{\begin{matrix} 1 & \ldots & 1 \end{matrix}}} \right\rbrack},{{\underset{\_}{I}}_{N_{p}} = \left\lbrack \underset{N_{p}{times}}{\underset{︸}{\begin{matrix} 1 & \ldots & 1 \end{matrix}}} \right\rbrack},$ and perform ML alpha estimate by choosing the top 3 sums, d_(i,j)(k)|_(j=(1),(2),(3)), where j=(1),(2),(3) represent the indices of the 3 possible transmitted sequences that yield the top 3 sum d_(i,j)(k) for a given partitioned sequence k and beam i. Keeping the top three alpha estimates out of 4 from the decision metric d_(i,j)(k)|_(j=1) ⁴ maximizes the likelihood of good alpha estimate in the presence of jammers. Then each of the top 3 decision metrics are scaled to get the top 3 alpha estimates of the partitioned sequence which are output by MLEs 126 as given by equation (10):

$\begin{matrix} {{{{\underset{\_}{\overset{\sim}{\alpha}}}_{i}(k)} = {\left. {{\overset{\sim}{\alpha}}_{i,j}(k)} \right|_{{j = {(1)}},{(2)},{(3)}} = \left. {\frac{1}{\left( {N_{ref} + N_{p}} \right)}{d_{i,j}(k)}} \right|_{{j = {(1)}},{(2)},{(3)}}}},} & (10) \end{matrix}$

where N_(p) is the length of the partitioned sequence. Next, the linear average of the top three alpha estimates of the partitioned sequence is determined to be the alpha estimate for the partitioned sequence k as shown by equation (11):

$\begin{matrix} {{{\hat{\alpha}}_{i}(k)} = \left. {\frac{1}{3}{\sum\limits_{j}{{\overset{\sim}{\alpha}}_{i,j}(k)}}} \middle| {}_{{j = {(1)}},{(2)},{(3)}}. \right.} & (11) \end{matrix}$

The ML alpha estimation operation is repeated for all k and beam i. The alpha estimate for beam i is the output of the Alpha Quality Estimator (AQE) 130, that takes the alpha estimator for the partitioned sequence,

${{{\hat{\alpha}}_{i}(k)}|_{k = 1}^{\frac{N_{data}}{N_{p}}}},$ and the Symbol Quality Estimator (SQE) 102 output, I _(sym), as shown in Equation (16) discussed below, with the output

$\begin{matrix} {{\hat{\alpha}}_{i} = {{{AQE}\left( {{{{\hat{\alpha}}_{i}(k)}|_{k = 1}^{\frac{N_{data}}{N_{p}}}},{\underset{\_}{I}}_{sym}} \right)}.}} & (12) \end{matrix}$

The alpha estimate for beam i is calculated according to Equation (18) shown below. An example of the ML alpha estimate showing SDPSK 2+40 mode for a given beam i is shown in FIG. 16, where the MLEs 126 perform the following as described above:

d_(i.j)(k)|_(j = 1)⁴ = α̂_(i, ref) + α̂_(i, j)(k)|_(j = 1)⁴, k = 1, …  , 20 ${\left. {d_{i,j}(k)} \right|_{{j = {(1)}},{(2)},{(3)}} = {{{top}\mspace{14mu} 3\mspace{14mu}{of}\mspace{14mu}{the}\mspace{14mu}{set}\mspace{14mu}{d_{i,j}(k)}}|_{j = 1}^{4}}},{{{\overset{\sim}{\underset{\_}{\alpha}}}_{i}(k)} = \left. {\frac{1}{\left( {N_{ref} + N_{p}} \right)}{d_{i,j}(k)}} \right|_{{j = {(1)}},{(2)},{(3)}}},{k = 1},\ldots\mspace{14mu},20$

Symbol Quality Estimator

Symbol Quality Estimator 102 of FIG. 15 is shown in more detail in FIG. 17. SQE 102 is a statistical estimator used to detect jammed symbols for high quality symbols estimation. It uses the statistics of the received symbol power to eliminate severely jammed symbols or outliers thus preserving high quality symbols for this beam-combining processing. The estimator takes symbol power measurement in each hop, computes the statistics of the symbol power measurement, sets up a threshold dynamically in each hop, and compares it with the symbol power measurement to determine outliers, as shown in FIG. 17. High quality symbols are then preserved in each hop for each beam and symbol selection is done in a statistical manner such that high quality symbols over all beams are compared for a high confidence symbol selection.

An abnormally high power of a received symbol can indicate either a momentary blip or the presence of a jamming signal. The power adjustment is done on a per hop basis by element 136. For each beam i, the apparatus of FIG. 17 finds the median of the symbol power per hop in element 133, and computes a threshold power by element 136 according to equation (13) σ_(r,i,th) ² =med(abs( x _(i) ²))+γstd(abs( x _(i) ²)),  (13)

where γ is a constant. An alternate approach for calculating the threshold for beam i is σ_(r,i,th) ²=E[p _(x) _(i) (l₈₀:l₉₇], where

${\underset{\_}{p_{x_{i}}} = {{sort}\left( {{abs}\left( \underset{\_}{x_{i}} \right)} \right)}},{l_{80} = \left\lceil {0.8 \cdot N} \right\rceil},{l_{97} = {\left\lceil {0.9 \cdot N} \right\rceil.}}$ The symbol power estimate output by element 133 is compared with the threshold power calculated by element 136. Symbols per beam are chosen by element 134 as shown in equation (14):

$\begin{matrix} {{I_{i}\left( \sigma_{{r{(l)}},i}^{2} \right)} = \left\{ \begin{matrix} {1,} & \sigma_{{r{(l)}},i}^{2} & < & \sigma_{r,i,{th}}^{2} \\ {0,} & \sigma_{{r{(l)}},i}^{2} & \geq & \sigma_{r,i,{th}}^{2} \end{matrix} \right.} & (14) \end{matrix}$

for l=1, . . . , N where N=N_(ref)+N_(data) and for beam i, where σ_(r,(l),i) ²=|x_(i)(l)²| is the symbol power estimate output by element 133.

The symbol selection in element 138 is based on the estimated high quality symbols for all beams and makes a majority rule decision as

$\begin{matrix} {{I\left( \sigma_{r{(l)}}^{2} \right)} = \left\{ {\begin{matrix} {0,} & \frac{1}{N_{beam}} & \sum\limits_{i = 1}^{N_{beam}} & {I_{i}\left( \sigma_{{r{(l)}},i}^{2} \right)} & < & 0.5 \\ {1,} & \frac{1}{N_{beam}} & \sum\limits_{i = 1}^{N_{beam}} & {I_{i}\left( \sigma_{{r{(l)}},i}^{2} \right)} & \geq & 0.5 \end{matrix},{{{for}\mspace{14mu} l} = 1},\ldots\mspace{14mu},{N.}} \right.} & (15) \end{matrix}$

To ensure that reference symbols are chosen, the symbol selection in element 138 is updated as

$\begin{matrix} {{I_{sym}(l)} = \left\{ {\begin{matrix} {1,} & {l \in} & \left\{ {1,\ldots\mspace{14mu},N_{ref}} \right\} \\ {{I\left( \sigma_{r{(l)}}^{2} \right)},} & {l \in} & \left\{ {{N_{ref} + 1},\ldots\mspace{14mu},N} \right\} \end{matrix},{{for}\mspace{14mu}{all}\mspace{14mu}{beams}},} \right.} & (16) \end{matrix}$

where a symbol number l is selected when the indicator function I_(sym)(l)=1. AQE 130 of FIG. 16 receives the symbol selection as a input and selects a high quality alpha estimate as

$\begin{matrix} {{I_{\alpha}(k)} = \left\{ {\begin{matrix} {1,} & {{{I_{sym}\left( {l_{odd} + N_{ref}} \right)}{I_{sym}\left( {l_{odd} + N_{ref} + 1} \right)}} = 1} \\ {0,} & {{{I_{sym}\left( {l_{odd} + N_{ref}} \right)}{I_{sym}\left( {l_{odd} + N_{ref} + 1} \right)}} = 0} \end{matrix},} \right.} & (17) \end{matrix}$

${{{where}\mspace{14mu} k} = \frac{l_{odd} + 1}{N_{p}}},{k \in {\left\{ {1,2,\ldots\mspace{14mu},\frac{N_{data}}{N_{p}}} \right\}{for}\mspace{14mu} l_{odd}} \in {\left\{ {1,3,\ldots\mspace{14mu},{N_{data} - 1}} \right\}.}}$

The alpha estimator indicator function in Equation (17) shows that alpha estimator number k is selected when l_(α)(k)=1 where the alpha estimator α _(i)(k) is given in Equation (11) for

$k \in {\left\{ {1,\ldots\mspace{14mu},\frac{N_{data}}{N_{p}}} \right\}.}$ The alpha estimator for beam i with AQE 130 of FIG. 16 is updated from Equation (12) to be

$\begin{matrix} {{\hat{\alpha}}_{i} = {\frac{1}{\sum\limits_{k}{I_{\alpha}(k)}}{\sum\limits_{k = 1}^{\frac{N_{data}}{N_{p}}}{{I_{\alpha}(k)}{{{\hat{\alpha}}_{i}(k)}.}}}}} & (18) \end{matrix}$

The ML alpha estimator is therefore

$\begin{matrix} {{\hat{\alpha}}_{ML} = {{{\hat{\alpha}}_{i}|_{i = 1}^{N_{beam}}} = \begin{bmatrix} {\hat{\alpha}}_{1} \\ {\hat{\alpha}}_{2} \\ \vdots \\ {\hat{\alpha}}_{N_{beam}} \end{bmatrix}}} & (19) \end{matrix}$

Substitution OC

Substitution OC element 110 of FIG. 15 is shown in more detail in FIG. 18. As shown in FIG. 18, the Substitution OC method is iterative with good initial weights such that an optimal set of weights is determined within a few iterations. The direct substitution method is utilized such that given an initial weight vector w ₀, the iteration is w _(n+1) =f( w _(n)), for n≧0.  (20)

To ensure that the Substitution OC method converges to a near optimal solution, a good starting set of weights is required. The ML Alpha Estimator 104 and SQE 102 of FIG. 15 determine the alpha estimates that are good matches for the covariance matrix {circumflex over (R)}_(XX) by element 106 of FIG. 15, producing a good initial OC weight vector.

The initial weights without noise loading are calculated according to equation (21) w ₀(no noise loading)=R _(XX) ⁻¹ {circumflex over (α)} _(ML),  (21) where the covariance matrix

${106\mspace{14mu}{\hat{R}}_{XX}} = {\frac{1}{N}{XX}^{H}}$ of FIG. 17 is determined from the received symbols X in equation (1) using a Hermitian matrix of X and {circumflex over (α)}ML is obtained from Equation (19) for all beams. Since the diagonal elements of the covariance matrix are not well-conditioned due to jammers, inverting the matrix would have both large and small eigenvalues, making the weights in (21) very sensitive to errors in {circumflex over (α)} _(ML). Diagonal noise loading is used on the covariance matrix to alleviate this issue since diagonal noise loading prevents eigenvalues that are too small.

In preferred embodiments according to the present invention using the antenna architectures described above in connection with FIGS. 9-10, i.e., GDA, phased array antenna, combinations of GDA and phased array beams, the co-pending application adaptive beamforming method is modified by using a different equation for dynamic noise loading in the initial weights calculation:

$\begin{matrix} {{{nl} = {c_{nl}\frac{{R_{{xx\_ diag}{\_ sort}}(1)} + {R_{{xx\_ diag}{\_ sort}}(2)}}{{R_{{xx\_ diag}{\_ sort}}\left( {N_{beam} - 1} \right)} + {R_{{xx\_ diag}{\_ sort}}\left( N_{beam} \right)}}}},} & (22) \end{matrix}$

where R_(xx) _(_) _(diag) _(_) _(sort)=sort(diag({circumflex over (R)}_(XX)), descend), c_(nl) is a constant, N_(beam)=number of antenna beams, R_(xx) _(_) _(diag) _(_) _(sort) contains the diagonal elements of {circumflex over (R)}_(XX) in descending order, and N_(beam)≧3.

Another method of calculating the dynamic noise loading in the initial weights calculation for the preferred embodiments of the invention is to perform the following using the QR decomposition: {circumflex over (R)} _(XX) =QR,  (23)

$\begin{matrix} {{{nl} = {c_{nl}\frac{{R_{{diag\_ sor}t}(1)} \cdot {R_{diag\_ sort}\left( N_{beam} \right)}}{{std}\left( {{diag}\left( {\hat{R}}_{XX} \right)} \right)}}},} & (24) \end{matrix}$

where R_(diag) _(_) _(sort)=sort(abs(diag(R)), descend), c_(nl) is a constant, N_(beam)=number for antenna beams, R_(diag) _(_) _(sort) contains the diagonal elements of R in descending order, and N_(beam)≧3.

Returning to a discussion of the adaptive beamforming algorithm of the copending application, the updated covariance matrix 106 of FIG. 15 is then given be equation (25): R _(XX) ={circumflex over (R)} _(XX) +nl I,  (25)

where I is a N_(beam)×N_(beam) identity matrix scaled by noise loading factor nl and N_(beam) is the number of beams. Given the estimated covariance matrix with DNL, and the ML alpha estimate, {circumflex over (α)} _(ML), the initial estimate of weights 108 of FIG. 15 is calculated using optimal combining w ₀ =R _(XX) ⁻¹ {circumflex over (α)} _(ML).  (26)

A good initial set of weights calculated using ML alpha estimate and covariance matrix with DNL, are used for the iterative Substitution OC Method which further refines the weights for SNR optimization.

The Substitution OC Method 110 of FIG. 15 is an iterative method that, with good initial weights from Equation (26), will converge to a unique and near-optimal solution for beamformer weights in a few iterations. As shown in FIG. 18, where the α estimate and weights are updated every iteration, I_(sym) is a vector of the indicator function (16) that comes from the SQE 102 of FIG. 15. Initial weights w ₀ are input to Iterative Beamformer 140 which uses weights w _(n) for subsequent iterations to output z(n) according to equation (32) below. Hard Decision logic 142 calculates d _(n) in accordance with equations (30) and (31) below. The result, together with input symbols X and the high quality indicator vector I_(sym) are input into the α estimator 144 which determines {circumflex over (α)}(n) in accordance with equation (27) which further refines the estimate in each iteration. Logic 144 provides an input to logic 148 which calculates the signal covariance matrix R_(ss)(n) in accordance with equation (33). This result is added to R_(XX) in adder 146 then provided to weights update logic 150, which executes equation (28). Assuming d(t) is uncorrelated with J(t) and n(t), then the α estimator 144 is shown to make the method converge as long as the Symbol Error (SE)<0.5 according to equation (27): {circumflex over (α)}=

[ d (t)^(H) x (t)]≅α(1−2SE).  (27)

Assuming the transmitted reference symbols s _(ref) are known, for SDPSK waveforms, for each iteration n=1, . . . , m, the method uses refined estimates of {circumflex over (α)}, R_(ss) and R_(nm) to update the weights as w _(n+1) =g(R _(ss)(n),R _(nn)(n),{circumflex over (α)}(n), w _(n))=R _(nn)(n)⁻¹ {circumflex over (α)}(n),  (28)

where

$\begin{matrix} {{{\hat{\underset{\_}{\alpha}}(n)} = {\frac{1}{{\underset{\_}{I}}_{sym}{\underset{\_}{I}}^{t}}\left\lbrack {{X\left( {:{,{\underset{\_}{I}}_{sym}}} \right)}{\underset{\_}{d}\left( {:{,{\underset{\_}{I}}_{sym}}} \right)}_{n}^{H}} \right\rbrack}},} & (29) \end{matrix}$ I=[1, . . . ,1]_(1×N), d _(n) =[s _(ref) ,d _(data)(n)],  (30)

$\begin{matrix} \begin{matrix} {{{\underset{\_}{d}}_{data}(n)} = \left\{ {\begin{matrix} {{{sgn}\left\lbrack {{Re}\left( {z_{k}(n)} \right)} \right\rbrack},} & {{k\mspace{14mu}{odd}},} & {k \geq {N_{ref} + 1}} \\ {{i\mspace{14mu}{{sgn}\left\lbrack {{Im}\left( {z_{k}(n)} \right)} \right\rbrack}},} & {{k\mspace{14mu}{even}},} & {k \geq {N_{ref} + 1}} \end{matrix},} \right.} \\ {{{sgn}(u)} = \left\{ {\begin{matrix} {{- 1},} & {u < 0} \\ {1,} & {u \geq 0} \end{matrix},} \right.} \end{matrix} & (31) \end{matrix}$

$\begin{matrix} {{\underset{\_}{z}(n)} = {{\left\lbrack {z_{1},\ldots\mspace{14mu},z_{N}} \right\rbrack(n)} = \left\{ {\begin{matrix} {{{\underset{\_}{w}}_{0}^{H}X},} & {n = 1} \\ {{{\underset{\_}{w}}_{n}^{H}X},} & {{n = 2},\ldots\mspace{14mu},m} \end{matrix},} \right.}} & (32) \end{matrix}$ R _(ss)(n)={circumflex over (α)}(n){circumflex over (α)}(n)^(H),  (33) R _(nn)(n)=R _(XX) −R _(ss)(n),  (34)

where X is a N_(beam)×N matrix of the received samples and n is the iteration number. At the end of iteration m, the weights are normalized by the maximum of the weights magnitude.

The iterative method refines the α estimate, R_(nm), thus the beam-combining weights every iteration, converging to a set of optimal weights for a given user while maintaining implementable HW complexity.

Post Iterative Beamformer

Post Iterative Beamformer 112 of FIG. 15 uses the results of the iterative substitution method with beam combining weights optimized for each user in theater y=Σ _(i=1) ^(N) ^(beam) w _(i) ^(*) x _(i),  (35)

where N_(beam) is the number of beams, x _(i) is the row vector from beam i of X, w_(i)* is the beam combining weight for a given hop and y is the combined beam. Moreover,

${\underset{\_}{w}}_{m} = \left\lbrack {w_{1},\ldots\mspace{14mu},w_{Nbeam}} \right\rbrack^{t}$ is the weight vector from the Substitution OC method. The beamformer combines the received symbols with adaptive weights that optimize the user SNR while the impacts of jammer and interference are minimized at the same time. The beamformed output signal y is clear of jammer impacts and can be demodulated easily.

An implementation of the invention according to a preferred embodiment is shown in FIG. 19. At step 150, R_(XX) ⁻¹ is computed, where R_(XX) is found according to equation (25), and estimated alpha {circumflex over (α)} _(ML) is computed according to equation (19), then the initial weight is set according to w ₀=R_(XX) ⁻¹ {circumflex over (α)} _(ML) in equation (26).

Then, beginning with step 152, a set of m iterations per hop is started, and for each iteration, a series of steps are performed. In a preferred embodiment, 3 iterations give an optimal result, but any number of iterations may be used. The device may also detect an end condition instead of being set to a certain number of iterations.

At step 152, the iterative beamformer z=w _(n) ^(H)X is computed, where X is a N_(beam)×N matrix of the received samples and w _(n)=w ₀ for n=1.

At step 154, two decision metrics:

${\underset{\_}{d}}_{data} = \left\{ {{\begin{matrix} {{{sgn}\left\lbrack {{Re}\left( z_{k} \right)} \right\rbrack},} & {{k\mspace{14mu}{odd}},} & {k \geq {N_{ref} + 1}} \\ {{i\mspace{14mu}{{sgn}\left\lbrack {{Im}\left( z_{k} \right)} \right\rbrack}},} & {{k\mspace{14mu}{even}},} & {k \geq {N_{ref} + 1}} \end{matrix}\mspace{14mu}{and}\mspace{14mu}\underset{\_}{d}} = \left\lbrack {{\underset{\_}{s}}_{ref},{\underset{\_}{d}}_{data}} \right\rbrack} \right.$ are formed where s _(ref) is a sequence of known reference symbols.

At step 156, an estimated alpha is computed according to

${\hat{\underset{\_}{\alpha}} = {\frac{1}{{\underset{\_}{I}}_{sym}{\underset{\_}{I}}^{t}}{X\left( {:{,{\underset{\_}{I}}_{sym}}} \right)}{\underset{\_}{d}\left( {:{,{\underset{\_}{I}}_{sym}}} \right)}^{H}}},{{{where}\mspace{14mu}\underset{\_}{I}} = {\left\lbrack {1,\ldots\mspace{14mu},1} \right\rbrack_{1 \times N}.}}$

At step 158, values for R_(ss) and R_(nm) are computed in accordance with R_(ss)={circumflex over (α)} {circumflex over (α)} ^(H) and R_(nn)=R_(XX)−R_(ss).

Then, in step 160, a weight vector is computed according to w _(n+1)=R_(nn) ⁻¹ {circumflex over (α)}.

At decision point 162, an end condition for the iterations is checked and, it not met, the process returns to step 152. Otherwise, the process continues to step 162 where the weights are normalized by the maximum of the weights magnitude.

In a preferred embodiment, this approach is developed based on the SDPSK modes of 2+40, 4+80, and 8+160 (number of reference symbols+number of data symbols). It not only performs well under the stressed environment against the full-band noise jammer, partial band jammer, tone jammer and pulse jammer, the performance is near ideal MRC under unstressed environment due to the use of dynamic noise loading. The method is robust in both stressed and unstressed communications.

The beamforming algorithm of the co-pending application can be applied to other waveforms, coherent or partially coherent, i.e., M-ary PSK waveforms, QPSK, 8PSK, 12-4 QAM, and GMSK for any antenna architectures. The digital beamforming algorithm for M-ary waveforms is similar to that of FIG. 15, modified as shown in FIG. 20, where symbol quality estimator 102 is modified, ML or initial alpha estimator 104 is changed, as well as the substitution OC algorithm 110. Moreover, a phase rotation 322 is done after the post-beamformer to resolve sign ambiguity for M-ary PSK waveforms. Symbol quality estimator 102 is changed in a way that the output, symbol quality indicator, I_(sym), goes only to the Substitution OC algorithm 110 as shown in FIG. 20 and FIG. 21. Frequency recovery 320 can be applied at the received signals X using standard algorithm if needed and it is optional.

The frequency offset or phase drift at the signal bandwidth of the optional frequency recovery algorithm is estimated to be

${\rho_{{lead},i} = \frac{{\underset{\_}{x}}_{{ref},i,{lead}} \cdot {\underset{\_}{s}}_{{ref},{lead}}^{H}}{{{\underset{\_}{x}}_{{ref},i,{lead}} \cdot {\underset{\_}{s}}_{{ref},{lead}}^{H}}}},{\rho_{{trail},i} = \frac{{\underset{\_}{x}}_{{ref},i,{trail}} \cdot {\underset{\_}{s}}_{{ref},{trail}}^{H}}{{{\underset{\_}{x}}_{{ref},i,{trail}} \cdot {\underset{\_}{s}}_{{ref},{trail}}^{H}}}},{\gamma = \frac{\rho_{lead}}{\rho_{trail}}},{\underset{\_}{{\overset{\sim}{x}}_{i}} = {{\underset{\_}{x_{i}} \cdot \left( \gamma^{v} \right)}*}},{v = \left\lbrack {0,\ldots\mspace{14mu},1} \right\rbrack},$

where x _(ref,i,lead) and s _(ref,lead) are leading received reference symbols and leading reference symbols, respectively, whereas, x _(ref,i,trail) and s _(ref,trail) are trailing received reference symbols and trailing reference symbols, respectively, {tilde over (x)} _(j) is the output of the frequency recovery, and i is beam number. The exponent, v, weights the multiplier γ at each symbol index to offset the estimated phase drift across the hop.

Maximum Likelihood (ML) Alpha Estimator

The beam steering vector, α, for a desired signal is calculated by ML Alpha Estimator 104 of FIG. 20. An example of the ML alpha estimator showing QPSK 5+72 mode (a mode with 5 reference symbols and 72 data symbols) is shown in FIG. 22. Reference numeral 322 indicates complex received symbols x _(i) of a hop for beam i, x _(i) =[x _(1,i) , . . . x _(N,i)],

where N=N_(ref)+N_(data), N_(ref) is the number of reference symbols and N_(data) is the number of data symbols. The sequence of received symbols x _(i) 322 is a vector of X for beam i in equation (1).

In order to reduce the complexity of calculating an estimate value for α, the data portion of the received symbols is partitioned into blocks 324 of length N_(p) symbols, as illustrated in FIG. 22 at 326, where N_(p)=2 is the length of the partitioned sequence in equation (36), without loss of generality, reference symbols are assumed to be at the beginning of a hop,

$\begin{matrix} {{x_{i} = {\left\lbrack {{\underset{\_}{x}}_{{ref},i},\underset{\{{{\underset{\_}{x}}_{k,i}|_{k = 1}^{N_{data}/2}}\}}{\underset{︸}{{\underset{\_}{x}}_{{data},i}}}} \right\rbrack = \left\lbrack {{\underset{\_}{x}}_{{ref},i},{\underset{\_}{x}}_{1,i},\ldots\mspace{14mu},{\underset{\_}{x}}_{{N_{data}/2},i}} \right\rbrack}},} & (36) \end{matrix}$

where x _(k,i), kε{1, . . . , N_(data)/2} is a length-N_(p) or length-2 sequence for partitioned sequence k and beam i. For QPSK or 4-ary PSK (M=4) modulation, the four possible symbol constellations are

$\left\{ {\left\lbrack {e^{i\frac{\pi}{4}},e^{i\frac{\pi}{4}}} \right\rbrack,\left\lbrack {e^{i\frac{3\pi}{4}},e^{i\frac{3\pi}{4}}} \right\rbrack,\left\lbrack {e^{i\frac{5\pi}{4}},e^{i\frac{5\pi}{4}}} \right\rbrack,\left\lbrack {e^{{- i}\frac{\pi}{4}},e^{{- i}\frac{\pi}{4}}} \right\rbrack} \right\}.$ There are 4^(Np) (M_(Np)) or 16 pairs of the possible transmitted sequence,

${\hat{\underset{\_}{s}} = \left\{ \begin{matrix} \begin{matrix} {\left\lbrack {e^{i\frac{\pi}{4}},e^{i\frac{\pi}{4}}} \right\rbrack,\left\lbrack {e^{i\frac{\pi}{4}},e^{i\frac{3\pi}{4}}} \right\rbrack,\left\lbrack {e^{i\frac{\pi}{4}},e^{i\frac{5\pi}{4}}} \right\rbrack,} \\ {\left\lbrack {e^{i\frac{\pi}{4}},e^{{- i}\frac{\pi}{4}}} \right\rbrack,\ldots\mspace{14mu},\left\lbrack {e^{{- i}\frac{\pi}{4}},e^{i\frac{\pi}{4}}} \right\rbrack,\left\lbrack {e^{{- i}\frac{\pi}{4}},e^{i\frac{3\pi}{4}}} \right\rbrack,} \end{matrix} \\ {\left\lbrack {e^{{- i}\frac{\pi}{4}},e^{i\frac{5\pi}{4}}} \right\rbrack,\left\lbrack {e^{{- i}\frac{\pi}{4}},e^{{- i}\frac{\pi}{4}}} \right\rbrack} \end{matrix} \right\rbrack},$ each partitioned sequence. At 328 a, the partitioned sequence is correlated with each pair of the estimated symbols, ŝ, which provides a set of alpha estimates of the partitioned sequence.

Correlators 328 output the alpha estimates of each partitioned sequence as shown in equation (37):

$\begin{matrix} {{{{\hat{\underset{\_}{\alpha}}}_{i,j}(k)} = {{\underset{\_}{x}}_{k,i}\begin{bmatrix} {{\hat{\underset{\_}{s}}}_{j}(1)}^{*} & \ldots & 0 \\ \vdots & \ddots & \vdots \\ 0 & \ldots & {{\hat{\underset{\_}{s}}}_{j}\left( N_{p} \right)}^{*} \end{bmatrix}}},} & (37) \end{matrix}$

where k=1, . . . , N_(data)/2, j=1, . . . , 4^(Np), i is the beam number, N_(p)=2, and ŝ={ŝ _(j)|_(j=1) ¹⁶}. Given the known transmitted reference symbols s _(ref)=[s_(ref)(1), . . . , s_(ref)(N_(ref))] of length N_(ref), the alpha estimate for the received reference sequence is output from correlator 128 a as

$\begin{matrix} {{\underset{\_}{\hat{\alpha}}}_{i,{ref}} = {{{\underset{\_}{x}}_{{ref},i}\begin{bmatrix} {s_{ref}(1)}^{*} & \ldots & 0 \\ \vdots & \ddots & \vdots \\ 0 & \ldots & {s_{ref}\left( N_{ref} \right)}^{*} \end{bmatrix}}.}} & (38) \end{matrix}$

A decision metric is calculated by MLEs 330 using equation (39): d _(i,j)(k)=sum[{circumflex over (α)} _(i,ref),{circumflex over (α)} _(i,j)(k)]={circumflex over (α)} _(i,ref) I _(N) _(ref) ^(t)+{circumflex over (α)} _(i,j)(k)I _(N) _(p) ^(t), for j=1, . . . . M ^(N) ^(p) ,M=4,   (39)

where

${{\underset{\_}{I}}_{N_{ref}} = \left\lbrack \underset{N_{ref}{times}}{\underset{︸}{1\mspace{14mu}\ldots\mspace{14mu} 1}} \right\rbrack},{{\underset{\_}{I}}_{N_{p}} = \left\lbrack \underset{N_{p}{times}}{\underset{︸}{1\mspace{14mu}\ldots\mspace{14mu} 1}} \right\rbrack},$ and perform ML alpha estimate by choosing the top 15 or M^(Np)−1 sums, d_(i,j)(k)|_(j=(1), . . . ,(M) _(Np) ⁻¹⁾, where j=(1), . . . ,(M^(Np)−1) represent the indices of the M^(Np)−1 possible transmitted sequences that yield the top 15 or M^(Np)−1 sum d_(i,j)(k) for a given partitioned sequence k and beam i. Keeping the top M^(Np)−1 alpha estimates out of M^(Np) from the decision metric d_(i,j)(k)|_(j=1) ^(M) ^(N) ^(p) maximizes the likelihood of good alpha estimate in the presence of jammers. Then each of the top M^(NP)−1 decision metrics are scaled to get the top M^(Np)−1 alpha estimates of the partitioned sequence which are output by MLEs 330 as given by equation (40):

$\begin{matrix} {{{\overset{\sim}{\underset{\_}{a}}}_{i}(k)} = {{{\overset{\sim}{a}}_{i,j}(k)}{_{{j = {(1)}},\ldots\mspace{14mu},{(M^{N_{p - 1}})}}{= {\frac{1}{\left( {N_{ref} + N_{p}} \right)}{d_{i,j}(k)}}}}_{{j = {(1)}},\ldots\mspace{14mu},{(15)}}}} & (40) \end{matrix}$

where N_(p) is the length of the partitioned sequence. Next, the linear average of the top M^(Np)−1 alpha estimates of the partitioned sequence is determined to be the alpha estimate for the partitioned sequence k as shown by equation (41):

$\begin{matrix} {{{\hat{\alpha}}_{i}(k)} = \left. {\frac{1}{M^{N_{p - 1}}}{\sum\limits_{j}{{\overset{\sim}{\alpha}}_{i,j}(k)}}} \right|_{{j = {(1)}},\ldots\mspace{14mu},{(M^{N_{p - 1}})}}} & (41) \end{matrix}$

An example of the ML alpha estimate showing QPSK 5+72 mode for a given beam i is shown in FIG. 22, where the MLEs 330 perform the following as described above:

${{d_{i,j}(k)}{_{j = 1}^{M^{N_{p}}}{= {{\hat{\underset{\_}{a}}}_{i,{ref}} + {{\hat{\underset{\_}{\alpha}}}_{i,j}(k)}}}}_{j = 1}^{16}},{k = 1},\ldots\mspace{14mu},36,{M^{N_{p}} = {4^{2} = 16}},{{d_{i,j}(k)}{_{{j = {(1)}},\ldots\mspace{14mu},{(15)}}{= {{top}\mspace{14mu} 15\mspace{14mu}{or}\mspace{14mu}\left( {M^{N_{p}} - 1} \right)\mspace{14mu}{of}\mspace{14mu}{the}\mspace{14mu}{set}\mspace{14mu}{d_{i,j}(k)}}}}_{j = 1}^{16}},{{{\underset{\_}{\overset{\sim}{\alpha}}}_{i}(k)} = \left. {\frac{1}{N_{ref} + N_{p}}{d_{i,j}(k)}} \right|_{{j = {(1)}},\ldots,{(15)}}},{k = 1},\ldots\mspace{14mu},36.$

The ML alpha estimation operation is repeated for all k and beam i. The alpha estimator for beam i becomes

${{\hat{\alpha}}_{i} = {E\left\lbrack \left\{ {{{\hat{\alpha}}_{i}(1)},{{\hat{\alpha}}_{i}(2)},\ldots\mspace{14mu},{{\hat{\alpha}}_{i}\left( \frac{N_{data}}{N_{p}} \right)}} \right\} \right\rbrack}},{{where}\mspace{14mu}{E\mspace{14mu}\lbrack \cdot \rbrack}}$ is linear average. The ML alpha estimator 334 therefore gives a result of:

$\begin{matrix} {{\underset{\_}{\hat{a}}}_{ML} = {{{\hat{\underset{\_}{\alpha}}}_{i}|_{i = 1}^{N_{beam}}} = {\begin{bmatrix} {\hat{\alpha}}_{1} \\ {\hat{\alpha}}_{2} \\ \vdots \\ {\hat{\alpha}}_{N_{beam}} \end{bmatrix}.}}} & (42) \end{matrix}$

Initial Alpha Estimate

Initial alpha estimate is done either through the ML alpha estimator as given as an example in FIG. 22, or alternate schemes are implemented for higher order modulation, M-ary PSK, to reduce complexity in hardware implementation for the ML alpha estimate. For M-ary PSK, M≧8, an approach for the initial alpha estimate is calculated through simple estimation equation as shown in FIG. 23, where the received signal for each beam is raised to the power of M at 336, summed at 338, and then taken to the power of 1/M at 340. The sign of the phase of the alpha estimate is then resolved through known reference symbols. Another approach for initial alpha estimate is calculated based on the reference symbols as

$\begin{matrix} {{{\hat{\alpha}}_{i} = {\frac{{\underset{\_}{x}}_{{ref},i} \cdot {\underset{\_}{s}}_{ref}^{H}}{N_{ref}}{for}\mspace{14mu}{beam}\mspace{14mu} i}},} & (43) \end{matrix}$

where s _(ref)=[s_(ref)(1), . . . , s_(ref)(N_(ref))] are known reference symbols.

Symbol Quality Estimator

Symbol quality estimator is changed in a way that the output, symbol quality indicator, I_(sym), goes only to the Substitution OC algorithm as shown in FIG. 20 and FIG. 21, while the content of the technique is unchanged.

The initial weights without noise loading are calculated as

$\begin{matrix} {{{{\underset{\_}{w}}_{0}\left( {{no}\mspace{14mu}{noise}\mspace{14mu}{loading}} \right)} = {{\hat{R}}_{XX}^{- 1}{\hat{\underset{\_}{\alpha}}}_{ML}}},} & (44) \end{matrix}$ where the covariance matrix 106

${\hat{R}}_{XX} = {\frac{1}{N}{XX}^{H}}$ of FIG. 20 is determined from the received symbols X in equation (1) using a Hermitian matrix of X and {circumflex over (α)} _(ML) is obtained from Equation (42) for all beams. Since the diagonal elements of the covariance matrix are not well-conditioned due to jammers, inverting the matrix would have both large and small eigenvalues, making the weights in (44) very sensitive to errors in {circumflex over (α)} _(ML). Diagonal noise loading is used on the covariance matrix to alleviate this issue since diagonal noise loading prevents eigenvalues that are too small.

The dynamic noise loading is done on the diagonal elements of the covariance matrix {circumflex over (R)}_(XX), as shown by element 106 of FIG. 20 at every hop. The minimum of the diagonal elements of the covariance matrix is calculated, the standard deviation of the diagonal elements is determined, and the noise loading for an MBA system is found to be

${{nl} = {c_{nl}\frac{\min\left( {{diag}\left( {\hat{R}}_{XX} \right)} \right)}{{std}\left( {{diag}\left( {\hat{R}}_{XX} \right)} \right)}}},$

where c_(nl) is a constant. In embodiments using the antenna architectures, i.e., GDA array, phased array antenna beams, combinations of GDA and phased array beams, a different equation for dynamic noise loading in the initial weights calculation is used:

${{nl} = {c_{nl}\frac{{R_{{{xx}\_{diag}}{\_{sort}}}(1)} + {R_{{{xx}\_{diag}}{\_{sort}}}(2)}}{{R_{{{xx}\_{diag}}{\_{sort}}}\left( {N_{beam} - 1} \right)} + {R_{{{xx}\_{diag}}{\_{sort}}}\left( N_{beam} \right)}}}},$

where

R_(xx) _(_) _(diag) _(_) _(sort)=sort(diag({circumflex over (R)}_(XX)), descend), c_(nl) is a constant, N_(beam)=number of antenna beams, R_(xx) _(_) _(diag) _(_) _(sort) contains the diagonal elements of {circumflex over (R)}_(XX) in descending order, and N_(beam)≧3.

The updated covariance matrix 106 of FIG. 20 is then given be equation (45): R _(XX) ={circumflex over (R)} _(XX) +nl I,  (45)

where I is a N_(beam)×N_(beam) identity matrix scaled by noise loading factor nl and N_(beam) is the number of beams. Given the estimated covariance matrix with DNL, and the ML alpha estimate, {circumflex over (α)} _(ML), the initial estimate of weights 108 of FIG. 20 is calculated using optimal combining as w ₀=R_(XX) ⁻¹ {circumflex over (α)} _(ML).

Another approach to finding the initial weights estimate is to use the initial alpha estimate as stated above in connection with equation (43), to be w ₀=R_(XX) ⁻¹ {circumflex over (α)}.

Substitution OC

Substitution OC element 110 of FIG. 20 is shown in more detail in FIG. 24. As shown in FIG. 24, the Substitution OC method is iterative with good initial weights such that an optimal set of weights is determined within a few iterations. The direct substitution method is utilized such that given an initial weight vector w ₀, the iteration is w _(n+1) =f( w _(n)), for n≧0

As shown in FIG. 24, where the α estimate and weights are updated every iteration, I_(sym) is a vector of the indicator function that comes from the SQE 102 of FIG. 20. Initial weights w ₀ are input to Iterative Beamformer 350 which uses weights w _(n) for subsequent iterations to output ez(n) according to equation (51) below. Hard Decision logic 352 calculates d _(n) in accordance with equations (49) and (50) below. The result, together with input symbols X and the high quality indicator vector I_(sym) are input into the α estimator 354 which determines {circumflex over (α)}(n) in accordance with equation (46) which further refines the estimate in each iteration. Alpha Estimate Logic 354 provides an input to logic 358 which calculates the signal covariance matrix R_(ss)(n) in accordance with equation (52). This result is added to R_(XX) in adder 360 then provided to weights update logic 362, which executes equation (47). {circumflex over (α)}=

[ d (t)^(H) x (t)]  (46)

Assuming the transmitted reference symbols s _(ref) are known for M-ary PSK waveforms, for each iteration n=1, . . . , m, the method uses refined estimates of {circumflex over (α)}, R_(ss) and R_(nn) to update the weights as w _(n+1) =g(R _(ss)(n),R _(nn)(n),{circumflex over (α)}(n), w _(n))=R _(nn)(n)⁻¹ {circumflex over (α)}(n),  (47)

where

$\begin{matrix} {{{\hat{\underset{\_}{\alpha}}(n)} = {\frac{1}{{\underset{\_}{I}}_{sym}{\underset{\_}{I}}^{t}}\left\lbrack {{X\left( {:{,{\underset{\_}{I}}_{sym}}} \right)}{\underset{\_}{d}\left( {:{,{\underset{\_}{I}}_{sym}}} \right)}_{n}^{H}} \right\rbrack}},{\underset{\_}{I} = \left\lbrack {1,\ldots\mspace{14mu},1} \right\rbrack_{1 \times N}},} & (48) \end{matrix}$ d _(n) =[s _(ref) ,d _(data)(n)]  (49) d _(data)(n)=arg min_(s) _(psk) _((h)) |z _(k)(n)−s _(psk)(h),h=1, . . . ,M,kε{data symbol index},s _(psk)(h)ε{M-ary PSK symbols},  (50)

$\begin{matrix} {{\underset{\_}{z}(n)} = {{\left\lbrack {z_{1},\ldots\mspace{14mu},z_{N}} \right\rbrack(n)} = \left\{ {\begin{matrix} {{{\underset{\_}{w}}_{0}^{H}X},} & {n = 1} \\ {{{\underset{\_}{w}}_{n}^{H}X},} & {{n = 2},\ldots\mspace{14mu},m} \end{matrix},} \right.}} & (51) \end{matrix}$ R _(ss)(n)={circumflex over (α)}(n){circumflex over (α)}(n)^(H),  (52) R _(nn)(n)=R _(XX) −R _(ss)(n),  (53)

where X is a N_(beam)×N matrix of the received samples and n is the iteration number. At the end of iteration m, the weights are normalized by the maximum of the weights magnitude.

The substitution OC algorithm just shown is unchanged from the co-pending application and described in connection with FIG. 18 of this application, except for the way the hard decision function works. The hard decision function makes a hard decision on the iterative beamformer output based on the M-ary PSK symbols, basically finding the symbol with the minimum distance to the M-ary symbols, d _(data)(n)=arg min_(s) _(psk) _((h)) |z _(k)(n)−s _(psk)(h)|,h=1, . . . ,M,kε{data symbol index}, where s_(psk)(h)ε(M-ary PSK symbols). The hard decision output is then given as

${{\underset{\_}{d}}_{n} = \left\lbrack {{\underset{\_}{s}}_{ref},{{\underset{\_}{d}}_{data}(n)}} \right\rbrack},$ where s _(ref) is a sequence of reference symbols.

Post Iterative Beamformer

Post Iterative Beamformer 112 of FIG. 20 uses the results of the iterative substitution method with beam combining weights optimized for each user in theater y=Σ _(i=1) ^(N) ^(beam) w _(i) ^(*) x _(i),  (54)

where N_(beam) is the number of beams, x _(i) is the row vector from beam i of X, w_(i)* is the beam combining weight for a given hop and y is the combined beam. Moreover,

${\underset{\_}{w}}_{m} = \left\lbrack {w_{1},\ldots\mspace{14mu},w_{Nbeam}} \right\rbrack^{t}$ is the weight vector from the Substitution OC method.

Phase Rotation

Phase estimate is done to avoid the sign change or ±180′ rotation on the post-beamformer output as

$\begin{matrix} {{\hat{\theta} = {{angle}\left\{ {E\left\lbrack {{\underset{\_}{y}\left( {1,2,\ldots\mspace{14mu},N_{ref}} \right)}^{H}{\underset{\_}{s}}_{ref}} \right\rbrack} \right\}}},{\overset{\sim}{\underset{\_}{y}} = \left\{ {\begin{matrix} {\underset{\_}{y},} & {{\hat{\theta}} < \frac{\pi}{M}} \\ {{\underset{\_}{y} \cdot e^{{- i}\;\hat{\theta}}},} & {otherwise} \end{matrix},} \right.}} & (55) \end{matrix}$ where M is the number of symbols for M-ary PSK waveforms and E[•] is the linear average.

In an alternative embodiment, a different method is used in place of the Substitution OC method. Instead, a Substitution-SNR method shown in FIG. 27 is used to update beamformer weights using the SNR equation.

${{\underset{\_}{w}}_{n + 1} = {\frac{{\underset{\_}{w}}_{n}^{H}{R_{nn}(n)}{\underset{\_}{w}}_{n}}{{\underset{\_}{w}}_{n}^{H}{R_{ss}(n)}{\underset{\_}{w}}_{n}}{R_{nn}^{- 1}(n)}{R_{ss}(n)}{\underset{\_}{w}}_{n}}},{{{where}\mspace{14mu}{\underset{\_}{w}}_{n}} = \left\{ \begin{matrix} {{\underset{\_}{w}}_{0},} & {n = 1} \\ {{\underset{\_}{w}}_{n},} & {{n = 2},\ldots\mspace{14mu},m} \end{matrix} \right.}$

The Substitution-SNR method is unchanged from the co-pending application except the way that the hard decision works. The hard decision function makes a hard decision on the iterative beamformer output based on the M-ary PSK symbols, basically finding the symbol with the minimum distance to the M-ary symbols,

${{{\underset{\_}{d}}_{data}(n)} = {\arg{\min\limits_{s_{psk}{(h)}}{{{z_{k}(n)} = {s_{psk}(h)}}}}}},{h = 1},{\ldots\mspace{14mu} M},{k \in \left\{ {{data}\mspace{14mu}{symbol}\mspace{14mu}{index}} \right\}},$ where s_(psk)(h)ε{M-ary PSK symbols}. The hard decision output is then given as

${{\underset{\_}{d}}_{n} = \left\lbrack {{\underset{\_}{s}}_{ref},{{\underset{\_}{d}}_{data}(n)}} \right\rbrack},$ where s _(ref) is a sequence of reference symbols.

FIG. 25A-25H depict the performance of this invention to any waveforms, Quadrature Phase Shift Keying (QPSK) as an example, using an MBA antenna. An ideal QPSK signal constellations of symbols is shown in FIG. 25B. FIG. 25C depicts user beam symbols of X that is input to the apparatus of FIG. 20. The constellations at the user beam are scattered all over due to the high jammer powers, as compared to the ideal signal constellation of FIG. 25B. In FIG. 25D, the output of initial weights of FIG. 20 at the 0 iteration when the initial weight vector created using Rxx and ML alpha, is applied to the received jamming signal. The symbol constellations in four quadrants are starting to come apart as compared to FIG. 25C given that signal-to-interference-plus-noise ratio (SINR) is low as shown in FIG. 25A. Iterative Substitution method is needed to further clean up and separate the constellations.

FIGS. 25E-25G show the iterative operation of the Substitution OC method. As the number of iterations of the method increases, the constellations become cleaner. After the first iteration as shown in FIG. 25E, the constellations are separate apart compared to the 0 iteration, raising the SINR (shown in FIG. 25A), thus starting to form a null on the jammer or maximizing the gain on the user. After the third iteration as shown in FIG. 25G, there is a reasonably high SINR (shown in FIG. 25A) such that the constellations are much more apparent and apart. FIG. 25H shows the antenna response with the clear gain on the user 370 while the jammer 372 is nulled out.

FIG. 26A shows an embodiment of the invention using a combination of different antenna types in an antenna array, e.g., 4 GDA and 1 phased array (PA) beams, with beam laydown shown in FIG. 26B, all co-pointing to the same beam. FIGS. 26G-26I show the performance of the iterative Substitution OC method for QPSK waveform as an embodiment of M-ary PSK waveforms, using the antenna architecture shown in FIG. 26A. As the number of iterations of the method increases, the constellations become cleaner. Without using any method to combat jammers, the constellations are scattered everywhere as shown in FIG. 26E. At the 0^(th) iteration, QPSK constellations shown in FIG. 26F start to separate in four quadrants compared to FIG. 26E. After the first iteration as shown in FIG. 26G, the constellations are separate apart compared to the 0^(th) iteration, raising the SINR (shown in FIG. 26C), thus starting to form nulls on the jammers or maximizing the gain on the user. After the third iteration as shown in FIG. 26I, there is a reasonably high SINR (shown in FIG. 26C) such that the constellations are much more apparent and apart. FIG. 26J shows the antenna response with the clear gain on the user 374 while the jammers 376 are nulled out.

This system may also be used with other applications. Multiple cell towers may be combined to form a large aperture, thereby increasing antenna gain and reducing interference, both of which enable higher system throughput. Ad-hoc networks can be formed from distributed users in a mobile environment (mobile wireless, airborne, etc) which would also increase system throughput through gain/interference advantages and protocols with lower overhead. Similar applications could be used to mitigate GPS jamming. The inventive system could also be used to build more conformal antennas for satellite radio-TV that do not require directional antennas that need to be pointed, thus increasing gain while lowering antenna height. This would enable the tracking of additional satellites in the antenna field of view.

The apparatus in one example comprises a plurality of components such as one or more of electronic components, hardware components, and computer software components. A number of such components can be combined or divided in the apparatus. An example component of the apparatus employs and/or comprises a set and/or series of computer instructions written in or implemented with any of a number of programming languages, as will be appreciated by those skilled in the art.

The steps or operations described herein are just for example. There may be many variations to these steps or operations without departing from the spirit of the invention. For instance, the steps may be performed in a differing order, or steps may be added, deleted, or modified.

Although example implementations of the invention have been depicted and described in detail herein, it will be apparent to those skilled in the relevant art that various modifications, additions, substitutions, and the like can be made without departing from the spirit of the invention and these are therefore considered to be within the scope of the invention as defined in the following claims. 

What is claimed is:
 1. A method for adaptive digital beamforming, in a computer processor, the input signals received by a plurality of heterogeneous antennas, comprising the steps of: receiving an input signal from each beam of the plurality of antennas; estimating an initial weight for each beam only from information contained within the input signals without using a model of the plurality of heterogeneous antennas or knowing the location of a desired signal; processing the input signals to iteratively estimating a new weight for each beam until an optimum weight is achieved; and processing the input signals by applying the optimum weight for each beam to the input signals to digitally beamform the desired signal.
 2. The method of claim 1 where in the step of estimating an initial weight further comprises the steps of: estimating an initial steering vector from the input signals from the one or more antennas; estimating an initial covariance matrix from the input signals using dynamic noise loading; and generating a set of weights for the input signals from the one or more antennas from the initial steering vector and the initial covariance matrix.
 3. The method of claim 1 wherein the step of estimating an initial weight per beam further comprises the step of calculating a dynamic noise loading according to the equation ${{nl} = {c_{nl}\frac{{R_{{{xx}\_{diag}}{\_{sort}}}(1)} + {R_{{{xx}\_{diag}}{\_{sort}}}(2)}}{{R_{{{xx}\_{diag}}{\_{sort}}}\left( {N_{beam} - 1} \right)} + {R_{{{xx}\_{diag}}{\_{sort}}}\left( N_{beam} \right)}}}},$ where R_(XX) is a covariance matrix of received symbols from antenna beams, R_(xx) _(_) _(diag) _(_) _(sort)=sort(diag(R_(XX)), descend), c_(nl) is a constant, and N_(beam)=the number of heterogeneous antennas.
 4. The method of claim 2 wherein R_(xx) _(_) _(diag) _(_) _(sort) contains the diagonal elements of R_(XX) in descending order, and N_(beam)≧3.
 5. The method of claim 1, wherein the plurality of heterogeneous antennas further comprises an arbitrary beamforming network of arbitrary antenna elements.
 6. The method of claim 5, wherein the arbitrary antenna elements are in arbitrary locations in a satellite.
 7. The method of claim 5, wherein the arbitrary antenna elements are in arbitrary locations in an airborne network.
 8. The method of claim 5, wherein the arbitrary antenna elements are in arbitrary locations in an ground network.
 9. The method of claim 5, wherein the arbitrary antenna elements are in arbitrary locations in any space, airborne, and ground network, and any combinations of networks.
 10. The method of claim 1, wherein a set of waveforms from the plurality of antennas is either coherent or partially coherent.
 11. A method for digital beamforming the beams from a plurality of heterogeneous antennas, said method executed in a computer processor, comprising the steps of: receiving an input signal from each beam of the plurality of antennas; processing each input signal statistically to generate symbols representing each input signal; estimating an initial steering vector for each beam from the input signal and the generated symbols; estimating an initial covariance matrix using direct calculation with dynamic noise loading; generating a set of weights for the beams from the plurality of antennas from the initial steering vector and the initial covariance matrix; iteratively estimating a new weight for each beam until an optimum weight is achieved; and normalizing the optimum weight and applying it to the received symbols during digital beamforming.
 12. The method of claim 11, further comprising the step of phase rotation to resolve sign ambiguity of the beamformed symbols.
 13. The method of claim 11, wherein the plurality of heterogeneous antennas further comprises an arbitrary beamforming network of arbitrary antenna elements.
 14. The method of claim 13, wherein the arbitrary antenna elements are in arbitrary locations in a satellite.
 15. The method of claim 13, wherein the arbitrary antenna elements are in arbitrary locations in an airborne network.
 16. The method of claim 13, wherein the arbitrary antenna elements are in arbitrary locations in an ground network.
 17. The method of claim 13, wherein the arbitrary antenna elements are in arbitrary locations in any space, airborne, and ground network, and any combinations of networks.
 18. A non-transitory computer-readable medium storing computer-readable instructions that, when executed on a computer processor, perform a method of digital beamforming the beams from a plurality of heterogeneous antennas, said method comprising the steps of: receiving an input signal from each beam of the plurality of antennas; processing each input signal statistically to generate symbols representing each input signal; estimating an initial steering vector for each beam from the input signal and the generated symbols; estimating an initial covariance matrix using direct calculation with dynamic noise loading; generating a set of weights for the beams from the plurality of antennas from the initial steering vector and the initial covariance matrix; iteratively estimating a new weight for each beam until an optimum weight is achieved; and normalizing the optimum weight and applying it to the received symbols during digital beamforming.
 19. The method of claim 18, further comprising the step of phase rotation to resolve sign ambiguity of the beamformed symbols.
 20. The method of claim 18 wherein the step of estimating an initial covariance matrix for each beam further comprises the step of calculating a dynamic noise loading according to the equation ${{nl} = {c_{nl}\frac{{R_{{{xx}\_{diag}}{\_{sort}}}(1)} + {R_{{{xx}\_{diag}}{\_{sort}}}(2)}}{{R_{{{xx}\_{diag}}{\_{sort}}}\left( {N_{beam} - 1} \right)} + {R_{{{xx}\_{diag}}{\_{sort}}}\left( N_{beam} \right)}}}},$ where R_(XX) is a covariance matrix of received symbols from antenna beams, R_(xx) _(_) _(diag) _(_) _(sort)=sort(diag(R_(XX)), descend), c_(nl) is a constant, and N_(beam)=the number of heterogeneous antennas.
 21. The method of claim 18 wherein R_(xx) _(_) _(diag) _(_) _(sort) contains the diagonal elements of R_(XX) in descending order, and N_(beam)≧3.
 22. The method of claim 18, wherein the plurality of heterogeneous antennas further comprises an arbitrary beamforming network of arbitrary antenna elements.
 23. The method of claim 22, wherein the arbitrary antenna elements are in arbitrary locations in a satellite.
 24. The method of claim 22, wherein the arbitrary antenna elements are in arbitrary locations in an airborne network.
 25. The method of claim 22, wherein the arbitrary antenna elements are in arbitrary locations in an ground network.
 26. The method of claim 22, wherein the arbitrary antenna elements are in arbitrary locations in any space, airborne, and ground network, and any combinations of networks. 